package com.feng.chat.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Data;

/**
 * <p>
 * 用户聊天记录表
 * </p>
 *
 * @author dyf
 * @since 2022-05-31
 */

@Data
@TableName("talk_records")
public class TalkRecords implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 聊天记录ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 对话类型[1:私信;2:群聊;]
     */
    private Integer talkType;

    /**
     * 消息类型[1:文本消息;2:文件消息;3:会话消息;4:代码消息;5:投票消息;6:群公告;7:好友申请;8:登录通知;9:入群消息/退群消息;]
     */
    private Integer msgType;

    /**
     * 发送者ID（0:代表系统消息 >0: 用户ID
     */
    private Integer userId;

    /**
     * 接收者ID（用户ID 或 群ID）
     */
    private Integer receiverId;

    /**
     * 是否撤回消息[0:否;1:是]
     */
    private Integer isRevoke;

    /**
     * 是否重要消息[0:否;1:是;]
     */
    private Integer isMark;

    /**
     * 是否已读[0:否;1:是;]
     */
    private Integer isRead;

    /**
     * 群消息已读用户id(多个用,隔开)
     */
    private String groupRead;

    /**
     * 引用消息ID
     */
    private Integer quoteId;

    /**
     * 图片链接
     */
    private String content;

    /**
     * @好友 、 多个用英文逗号 “,” 拼接 (0:代表所有人)
     */
    private String warnUsers;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;


}
